package cn.bird.storm.validated.paramcheck.inter;


import java.util.Objects;
import java.util.function.Predicate;

public interface ICheckBean<T> {
    /**
     * 检验是通过的
     */
    Predicate<T> getPassTest();

    /**
     * 获取字段值
     */
    String getMsg();

    /**
     * 获取判断值
     */
    T getValue();

    /**
     * 获取是否需要弹窗提示
     */
    default boolean needPoint() {
        Predicate<T> needPointTest = getPassTest();
        if (Objects.isNull(needPointTest)) {
            return false;
        }
        return !needPointTest.test(getValue());
    }

}
